「展開運算符」與「其餘運算符」,
兩者的表示方式都是 ...
,
以下分別說明。
展開運算符(Spread Operator)
建議使用展開運算符取代以下語法
Array.prototype.concat()
Object.assign()
範例:
const todos =["aaa","bbb","ccc"]
//使用展開運算符
const addTodos =[...todos, "ddd"];
//等同於
const addTodos = todos;
addTodos.push("ddd");
特殊用法:
function sum(a, b, c) {
return a + b + c
}
const args = [1, 2, 3]
sum(…args) // 6
其餘運算符(Rest Operator)
將函式參數「剩餘的值」組合成一個陣列
const [x, ...y] = [1, 2, 3]
console.log(x) //1
console.log(y) //[2,3]
等號左右個數不相等時,會成為空陣列
const [x, y, ...z] = [1]
console.log(x) //1
console.log(y) //undefined
console.log(z) //[]